There are valid cases for passing a variable multiple times into the same method call, but usually doing so is a mistake, and something else was
intended for one of the arguments.
Noncompliant code example
if (compare($a+$x, $a+$x) != 0) { // Noncompliant
//...
}
if (compare(getValue($a), getValue($a)) != 0) { // Noncompliant
// ...
}
Compliant solution
if (compare($a+$y, $a+$x) != 0) {
//...
}
$v1 = getValue($a);
$v2 = getValue($a);
if (compare($v1, $v2) != 0) {
// ...
}